Portable device with freefall detection or audio processing subsystem and freefall detection or audio processing method

ABSTRACT

In a class of embodiments, a method and apparatus for detecting freefall of a disk device (thereby predicting that the disk device will likely suffer imminent physical impact) and typically also preventing damage that a disk drive of the device would otherwise suffer if and when a predicted impact occurs. In some embodiments, a disk device includes a freefall detection processor and a CPU. The freefall detection processor is configured to monitor acceleration data to determine whether the disk device is in freefall and to perform at least one other operation (e.g., decoding of MP3-encoded audio data to generate decoded audio data) while the CPU performs at least one other task. Other embodiments pertain to a portable device including a digital audio processing subsystem and an accelerometer. The digital audio processing subsystem is configured to monitor acceleration data to identify any rhythm associated with motion of the portable device and to modify the playback of audio data in response to any such identified rhythm.

FIELD OF THE INVENTION

The invention pertains to portable devices (e.g., notebook computers andmedia players) that include at least one accelerometer and typicallyalso at least one disk drive. In typical embodiments, the inventionpertains to a portable device including at least one disk drive and animpact detection subsystem configured to detect freefall of the device(thereby predicting a physical impact to which the device will likely besubjected). Preferably also, the device is configured to protect thedisk drive from damage resulting from a predicted impact.

BACKGROUND OF THE INVENTION

The expression “disk device” herein denotes a portable device includingat least one disk drive. Examples of disk devices are media players,notebook computers, tablet PCs, PDAs (personal digital assistants),smart cellular phones (e.g., phones capable of playing and displayingmultimedia content), and portable computing systems, each including atleast one disk drive.

Disk drives of disk devices are prone to damage and data skipping whensubjected to physical impacts. A typical impact scenario is anaccidental drop of a disk device. An impact can corrupt data that arebeing or have been read from a disk drive (or data that are being orhave been written to the drive) and/or can damage the disk drive itself.It would be desirable to predict physical impact to which a disk devicewill likely be subjected, so that each data reading head (of each diskdrive of the device) can be quickly placed into a “parked” position, orso that other action can quickly be taken to protect each disk drivefrom physical damage if and when the impact occurs.

It has been proposed to include an accelerometer in a portable computeror other portable device (e.g., a portable media player, PDA, or MP3digital audio player) for use in protecting the portable device (e.g.,to protect a disk drive thereof by performing a disk drive head parkingoperation), for example, to take protective action when accelerationdata from the accelerometer indicate that the device will sufferimminent impact or that the device's acceleration is within apredetermined range (e.g., a predetermined range including gravitationalacceleration, g=9.8 m/sec²). For example, U.S. Reissue Pat. 35,269, toComerford, describes a dedicated processor (installed in a portablecomputer) that monitors the output of an accelerometer (also installedin the computer). When the sensed acceleration is within a predeterminedrange near gravitational acceleration, the dedicated processor issues aninterrupt to the computer's CPU to trigger a head parking operation, oritself triggers parking of the disk drive heads and optionally alsobraking of the motion of each disk.

Similarly, U.S. Pat. No. 6,520,013 and U.S. Pat. No. 6,768,066, toWehrenberg, describe parking a read/write head of a data storage device(in a processing system) in response to sensing that the processingsystem's acceleration has reached a threshold value.

Also similarly, U.S. Pat. No. 5,835,298, issued to Edgerton, et al.,describes a dedicated processor (installed in a portable computingdevice) that monitors the output of an accelerometer (also installed inthe computing device), processes the accelerometer data (e.g., byperforming numerical integration thereon) to generate data indicative oftranslational velocity (or the square, or other function, of thetranslational velocity) of the computing device, and, when thetranslational velocity (or the square thereof) exceeds a predeterminedthreshold, takes steps to protect a disk drive of the device (e.g., byinitiating an operation to park the disk drive heads).

U.S. Pat. No. 6,101,062, to Jen, et al., discloses a feedback loop inwhich a processor (servo processor 102) controls motor speed of a diskdrive in response to measured motor spin current data (indicative ofmotor speed of the disk drive), processes the measured data to inferwhether the disk drive is undergoing hazardous acceleration, andinitiates protective action (e.g., triggers parking of disk drive heads,or powers down the disk drive) in response to inferring that hazardousacceleration is occurring. However, the data processing (to infer thathazardous acceleration is occurring) requires complicated exponentialaveraging of the data (by generating a long decay exponential averageand a short decay exponential average of the data and comparing the twoaverages), or the complicated steps of obtaining and storing a libraryof motion signatures (indicative of hazardous acceleration), comparingthe measured data to the stored motion signatures, and inferring thathazardous acceleration is occurring when the measured data match astored motion signature.

It has also been proposed to include an accelerometer in a digitalcamera, and use acceleration data from the accelerometer to preventpicture blurring in image data generated by the camera, or to switchbetween operating modes (e.g., landscape and portrait modes) when takingstill pictures or shooting video.

SUMMARY OF THE INVENTION

In a class of embodiments, the invention is a method and apparatus forinferring freefall of a disk device from acceleration data (therebypredicting that the disk device will likely suffer an imminent physicalimpact) and typically also preventing physical damage that a disk driveof the device would otherwise suffer if and when a predicted impactoccurs.

The expression “acceleration data” herein denotes data indicative ofsensed acceleration. Examples of acceleration data include the output ofan accelerometer, and a processed version of the output of anaccelerometer (e.g., a digitized version of the analog output of ananalog accelerometer). The term “accelerometer” is used herein in abroad sense to denote either an analog accelerometer (which outputsanalog acceleration data), a digital accelerometer (which outputsdigital acceleration data), or the combination of an analogaccelerometer and a digital-to-analog converter coupled and configuredto generate digital acceleration data in response to analog accelerationdata output from the analog accelerometer.

In typical embodiments, the invention is a disk device including afreefall detection subsystem configured to detect freefall of the diskdevice. The freefall detection subsystem includes an accelerometer and aprocessor (to be referred to as a “freefall detection processor”)coupled and configured to monitor acceleration data (either the outputof the accelerometer or a processed version the accelerometer's output)to determine whether the disk device is in freefall. Since detection offreefall in accordance with the invention is a prediction that a diskdevice of the device will likely be subject to imminent physical impact,the freefall detection subsystem will sometimes be referred to herein asan impact detection (or impact prediction) subsystem. Preferably thedisk device is also configured to protect each disk drive thereof fromdamage that it would otherwise suffer if and when a predicted impactoccurs. In some of the embodiments described in this paragraph, theinventive disk device includes at least two processors: a CPU and anauxiliary processor. The auxiliary processor is the freefall detectionprocessor, and is configured to perform both freefall detection inaccordance with the invention and at least one other operation (e.g.,decoding of MP3-encoded audio data to generate decoded audio data, oranother conventional operation) while the CPU performs at least oneother task. The auxiliary processor is shared in the sense that it isconfigured to perform freefall detection in accordance with theinvention, and is also configured to perform the conventionalprocessing. Embodiments of the inventive disk device that include ashared freefall detection processor can make efficient use of processinghardware already present in conventional disk devices to implementfreefall detection in accordance with the invention, and can bemanufactured by modifying a conventional disk device (by installing anaccelerometer therein) without also modifying the conventional diskdevice to include therein an additional processor (e.g., a secondauxiliary processor) dedicated to performing freefall detection.

In some embodiments, the inventive device is a portable device includinga digital audio processing subsystem (configured to decode and/orotherwise process digital audio data for playback) and an accelerometer.The digital audio processing subsystem is configured to monitoracceleration data (indicative of the instantaneous acceleration of theportable device as sensed by the accelerometer) to identify any rhythmassociated with motion of the portable device (for example, the periodand phase of any periodic motion of the portable device, e.g., periodicmotion that may occur while a user wearing the device jogs or otherwisemoves rhythmically) and to modify the playback of audio data in responseto any such identified rhythm (e.g., to speed up or slow down playbackof the audio data to match the rhythm of periodic motion of the device).Examples of such a portable device include notebook computers, tabletPCs, PDAs (personal digital assistants), smart cellular phones, andpersonal media players (e.g., personal media players configured todecode MP3 audio data for playback). Other embodiments are digital audioprocessing methods performed by any such portable device.

In a class of embodiments, the invention is a method for determiningthat a disk device is in freefall, including the steps of:

-   -   (a) determining from acceleration data indicative of        instantaneous acceleration of the disk device whether said        instantaneous acceleration is less than gravitational        acceleration during a first time interval of predetermined        duration;    -   (b) determining from the acceleration data whether said        instantaneous acceleration has a time derivative whose absolute        magnitude exceeds a predetermined minimum value (e.g., a        predetermined minimum value at least substantially equal to        zero) during a second time interval having a second        predetermined duration; and    -   (c) determining that the disk device is in freefall by        determining that said instantaneous acceleration is not less        than gravitational acceleration during the first time interval        and the absolute magnitude of the time derivative of said        instantaneous acceleration does not exceed the predetermined        minimum value during the second time interval.

Typically, the acceleration data comprise samples generated duringsample periods, the first time interval is a predetermined number of themost recent consecutive sample periods, the second time interval is asecond predetermined number of the most recent consecutive sampleperiods, and the second time interval coincides with the first timeinterval (or one of the second time interval and the first time intervalis a subinterval of the other and the two intervals do not coincide witheach other). Typically, step (b) includes the steps of generatingderivative data indicative of the absolute magnitude of the timederivative of the instantaneous acceleration, and determining from thederivative data whether the absolute magnitude of the time derivative ofthe instantaneous acceleration exceeds the predetermined minimum valueduring the second time interval.

Preferably, the method also includes the step of triggering a disk driveprotection operation in response to determining that the disk device isin freefall, and triggering of the disk drive protection operationoccurs with sufficient lead time to allow completion of the operationduring freefall of the disk device over a distance as small as about 10cm.

Determination in step (c) that the absolute magnitude of the timederivative of the disk device's instantaneous acceleration does notexceed the predetermined minimum value during the second time intervalprevents determination that the disk device is in freefall in cases inwhich the disk device undergoes time-varying acceleration (in contrastwith freefall). The first time interval should have sufficient durationto prevent determination in step (c) that the disk device is in freefallin cases in which the disk device undergoes large acceleration (havingmagnitude equal to or greater than gravitational acceleration) but forsuch a brief time that the acceleration is unlikely to cause damage tothe disk device. Each of the first time interval and the second timeinterval is preferably sufficiently short to allow triggering of a diskdrive protection operation with sufficient lead time to allow completionof the operation (to protect each disk drive of the device from damagethat it would otherwise suffer from impact) before the device suffersimpact from a fall from a typical height. Preferably, the accelerationdata undergo low pass filtering before step (a) is performed and beforethey are processed to generate the derivative data of step (b).

Other aspects of the invention are a processor (e.g., a processorimplemented as an integrated circuit) programmed to implement anyembodiment of the inventive method (in response to acceleration data) ora freefall detection subsystem configured to be installed in a diskdevice to implement any embodiment of the inventive method.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of elements of an embodiment of the inventivedisk device.

FIG. 2 is a plot of velocity data (indicative of the velocity of thedisk device of FIG. 1) versus time (in units of sampling periods). Thevelocity data are derived from acceleration data output from anacceleration sensor (an “x-axis” sensor) of accelerometer 6.

FIG. 3 is a circuit diagram of elements of an embodiment ofaccelerometer 6, including two-sensor accelerometer 6A and biasing andlow-pass filtering circuitry.

FIG. 4 is a block diagram of elements of an embodiment of the inventivedigital media player.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

With reference to FIG. 1, disk device 10 is an embodiment of theinventive disk device. Disk device 10 includes disk drive 2, processor4, accelerometer 6, analog to digital conversion circuit 8, and PCchipset 9, connected as shown in FIG. 1. Typically, disk device 10includes other elements but these are not shown for simplicity. PCchipset 9 is a conventional chipset that implements a CPU that runsoperating system software for disk device 10 when the device 10 has beenbooted up into a normal operating mode.

Accelerometer 6 is mounted so as to be capable of sensing theinstantaneous acceleration of disk drive 2. Typically, disk drive 2 ismounted fixedly within device 10 so that the acceleration of disk drive2 is the same as the acceleration of the entire device 10. Thedescription herein assumes that the accelerometer of each embodiment ofthe inventive disk device senses acceleration of at least one disk driveof the disk device although (for simplicity) the accelerometer may bedescribed as being capable of sensing acceleration of the disk device.

Analog-to-digital converter 8 captures the acceleration data output (inanalog form) from accelerometer 6 and converts this data into thedigital domain for processing by processor 4. If accelerometer 6 isconfigured to output digital data indicative of sensed acceleration(rather than analog data), A-to-D converter 8 can be omitted and theoutput of accelerometer 6 provided directly to processor 4. Processor 4saves the sensor data from converter 8 (or accelerometer 6, if converter8 is omitted) into a file and processes the saved data to generate anindication as to whether disk device 10 is in freefall, or it processesthe sensor data (to generate an indication as to whether disk device 10is in freefall) without first saving the data.

Processor 4 is an auxiliary processor configured to perform at least onetype of conventional processing (e.g., decoding of MP3-encoded audiodata to generate decoded audio data) while the CPU of device 10(implemented in chipset 9) performs at least one other task. Processor 4is shared in the sense that it is configured (e.g., programmed) toprocess acceleration data from converter 8 (or accelerometer 6, ifconverter 8 is omitted) in accordance with the invention, in addition toperforming such conventional processing. Thus, disk device 10 makeefficient use of processing hardware that is present therein forperforming conventional operations, to implement acceleration dataprocessing in accordance with the invention, rather than employing anadditional processor (e.g., an additional dedicated processor) toperform the acceleration data processing. In alternative embodiments ofthe invention, a dedicated processor may be employed for performingacceleration data processing in accordance with the invention.

The following description assumes a typical implementation ofaccelerometer 6 in which accelerometer 6 is or includes a two-sensordevice (e.g., an accelerometer Model No. ADXL311, available from AnalogDevices, Inc., with biasing and low-pass filtering circuitry, as shownin FIG. 3) whose sensors are configured to detect acceleration in eachof two orthogonal directions. Such sensors are sometimes referred to asan “x-axis” sensor and a “y-axis” sensor.

FIG. 2 is a plot of velocity data indicative of the velocity of diskdevice 10 of FIG. 1, versus time. The velocity data are derived from theacceleration data output from analog-to-digital converter 8 in responseto the output of one sensor (the “x-axis” sensor) of accelerometer 6. InFIG. 2, velocity is indicated in arbitrary units proportional (with anoffset) to sensed velocity in the “x” direction, and is plotted as afunction of time (in units of sampling periods). Since the sampling rateis 200 Hz, each sampling period has a duration of 5 milliseconds.

Preferably, processor 4 is programmed to process acceleration dataindicative of instantaneous acceleration of disk device 10 (e.g.,acceleration data generated by A-to-D converter 8 by sampling the outputof each sensor of accelerometer 6) by:

-   -   (a) determining from the acceleration data whether the disk        device's instantaneous acceleration is at least equal to (i.e.,        is not less than) gravitational acceleration (g=9.8 m/sec²)        during a first time interval having a predetermined duration        (e.g., during a predetermined number of the most recent        consecutive sample periods);    -   (b) generating data (to be referred to as “derivative data”)        indicative of the time derivative of the acceleration data        (i.e., indicative of the instantaneous slope of the acceleration        data plotted versus time) and determining from the derivative        data whether the absolute magnitude of the time derivative of        the disk device's instantaneous acceleration exceeds a        predetermined minimum value (e.g., whether the time derivative        of the instantaneous acceleration is substantially equal to        zero) during a second time interval having a second        predetermined duration (e.g., during a second predetermined        number of the most recent consecutive sample periods), where the        second time interval coincides with the first time interval        (this is the case in typical embodiments) or one of the second        time interval and the first time interval is a subinterval of        (but does not coincide with) the other; and    -   (c) determining that the disk device is in freefall by        determining that both the following conditions exist: the disk        device's instantaneous acceleration is not less than        gravitational acceleration during the first time interval and        the absolute magnitude of the time derivative of the disk        device's instantaneous acceleration does not exceed the        predetermined minimum value during the second time interval.

Determination in step (c) that the absolute magnitude of the timederivative of the disk device's instantaneous acceleration does notexceed the predetermined minimum value during the second time intervalprevents determination that the disk device is in freefall in cases inwhich the disk device undergoes time-varying acceleration (in contrastwith freefall). For example, determination in step (c) that the absolutemagnitude of the time derivative of the disk device's instantaneousacceleration does not exceed the predetermined minimum value during thesecond time interval prevents determination that the disk device is infreefall in typical cases in which a user subjects the disk device totime-varying acceleration while holding the disk device.

The first time interval should have sufficient duration to preventdetermination in step (c) that the disk device is in freefall in casesin which the disk device undergoes large acceleration (having magnitudeequal to or greater than gravitational acceleration) but for such abrief time that the acceleration is unlikely to cause damage to the diskdevice, and should be sufficiently short to allow the processor totrigger a disk drive protection operation with sufficient lead time toallow completion of the operation (to protect each disk drive of thedevice from damage that it would otherwise suffer from impact) beforethe device suffers impact from a fall from a typical height.

Typically, processor 4 repeatedly performs steps (a), (b), and (c) untilit determines during one performance of step (c) that the disk device isin freefall, and during each repetition it updates the first and secondtime intervals (e.g., the first time interval is always the X mostrecent consecutive sample periods, and the second time interval isalways the Y most recent consecutive sample periods, where X and Y arenumbers and X is typically equal to Y). Typically also, processor 4generates a disk drive protection signal (which can be a control bit)upon determining that the disk device is in freefall. Preferably, thedisk device is configured to perform a disk drive protection operationin response to the disk drive protection signal, to reduce or avoiddamage to each disk drive of the disk device that would otherwise resultfrom impact following freefall. Typically, the disk drive protectionoperation places each head (for reading and/or writing data) of eachdisk drive into a “parked” position in which the head cannot impact thesurface of any data storage medium. For example, in an implementation ofdisk device 10 of FIG. 1, disk drive 2 is configured to perform such ahead parking operation in response to a disk drive protection signalgenerated by processor 4 and asserted to disk drive 2.

It should be understood that processor 4 preferably combines dataindicative of the outputs of separate “x-axis” and “y-axis” sensors of atwo-sensor implementation of accelerometer 6 (in a manner that will beapparent to those of ordinary skill in the art) to generate dataindicative of acceleration in an x-y plane determined by the sensors,and then processes this data (preferably in the above-described manner)to determine whether the disk device is in freefall. In otherimplementations, processor 4 combines data indicative of the outputs of“x-axis,” “y-axis,” and “z-axis” sensors of a three-sensorimplementation of accelerometer 6 configured to detect acceleration ineach of three orthogonal directions (in a manner that will be apparentto those of ordinary skill in the art) to generate data indicative ofacceleration in three-dimensional space, and then processes this data(preferably in the above-described manner) to determine whether the diskdevice is in freefall.

We next consider an example of the inventive method in which:

-   -   processor 4 is programmed to process the FIG. 2 data to        determine (in the manner described above) whether disk device 10        is in freefall;    -   the sampling rate is 200 Hz (so that in FIG. 2, time is        indicated in units of sampling periods of 5 millisecond        duration); and    -   in FIG. 2, velocity of the disk device is indicated in arbitrary        units that are proportional (with an offset of about 3200) to        sensed velocity (so that in FIG. 2, disk device 10 has zero        velocity at time “A”).

In this example, a goal of the inventive method is to prevent damage todisk drive 2 of disk device 10 that would otherwise result from impactat a hard surface after a freefall of about 3 feet (≈1 meter) from aninitial resting place (e.g., from a desk of typical height to the floorbelow the desk). When an object falls to the ground from a resting place1 meter above the ground, it reaches the ground int_(r)=[2x/g]^(1/2)=0.4515 seconds, where x=1 meter and “g” isgravitational acceleration. At the sampling rate of 200 Hz, t_(r) isapproximately equal to 90 sampling periods.

Assuming that disk drive 2 is a typical hard disk drive which requiresabout 100 ms (20 sampling periods) to park its head(s), the duration ofthe “first time interval” (in step (a) of the method) is preferably 20ms (four sampling periods) in the example. For efficient processing, the“second predetermined duration” of the “second time interval” in step(b) of the method is also set to be 20 ms, and the second time intervalis set to coincide with the first time interval. With these parameterchoices, freefall detection requires four sampling periods and theinventive method can protect disk drive 2 from damage as a result offreefall over a distance as small as about 10 cm.

In the example, processor 4 determines that disk device 10 is infreefall at time “B” (indicated in FIG. 2) since it determines that thedisk device's instantaneous acceleration has been equal to or greaterthan gravitational acceleration during the 20 ms period before time “B”and that the absolute magnitude of the time derivative of the diskdevice's instantaneous acceleration has not exceeded a smallpredetermined minimum value (i.e., that the slope of the graphed data ofFIG. 2 has not changed significantly) during the 20 ms period beforetime “B.”

FIG. 3 is a circuit diagram of elements of an embodiment ofaccelerometer 6, including two-sensor accelerometer 6A and biasing andlow-pass filtering circuitry connected as shown. Accelerometer 6A is atwo-sensor device (an accelerometer Model No. ADXL311, available fromAnalog Devices, Inc.) whose acceleration sensors 6B and 6C areconfigured to detect acceleration in each of two orthogonal directions.Sensor 6B is referred to herein as an “x-axis” sensor and sensor 6C isreferred to herein as a “y-axis” sensor.

As shown in FIG. 3, sensor 6B is connected to ground via a 32K Ohmresistor and capacitor C_(x), and sensor 6C is connected to ground viaanother 32K Ohm resistor and capacitor C_(y). Biasing is provided byconnecting accelerometer 6A between a first node maintained at potentialVdd (in the range 2.7V to 5.25V above ground) and coupled to ground viacapacitor C_(DC), and a second node coupled to ground via a 200 K Ohmresistor as shown in FIG. 3.

In a preferred implementation of FIG. 3 (for use in performing theabove-described method with the “first time interval” in step (a) andthe “second time interval” in step (b) each having 20 ms duration), thecapacitance of each of capacitors C_(x), C_(y), and C_(DC) is 100 nF.The RC circuit comprising capacitor C_(x) and the 32K Ohm resistorconnected in series therewith acts as a low-pass filter (for x-axissensor 6B) whose cut off frequency is f=1/[2Π (32×10³) (100×10⁻⁶)]≈50Hz. The RC circuit comprising capacitor C_(y) and the 32K Ohm resistorconnected in series therewith acts as a low-pass filter (having the samecut off frequency) for y-axis sensor 6C. In view of this cut-offfrequency for each low-pass filter, the sampling rate of 200 Hz isappropriate.

In general, acceleration data to be processed in accordance with theinvention preferably undergo low-pass filtering before such processing(e.g., the acceleration data preferably undergo low-pass filteringbefore performance of step (a) of the above-described three-stepembodiments of the inventive method and before they are processed togenerate the derivative data of step (b) of such embodiments of theinventive method). The sampling rate (the rate at which samples of theacceleration data are generated) should be at least twice the cut-offfrequency for the low-pass filtering.

In alternative embodiments, the invention is a method and apparatus fordetecting excessive acceleration or deceleration (i.e., acceleration ordeceleration outside the range that each disk drive of the device isdesigned to tolerate without damage). In preferred embodiments in thisclass, each disk drive of a disk device is designed to tolerateacceleration having absolute magnitude that does not exceed a maximumacceleration, and the method includes (or the apparatus is configured toperform) the step of determining from acceleration data indicative ofinstantaneous acceleration of the disk device whether said instantaneousacceleration has an absolute value that has increased from below apredetermined threshold value to a value greater than the predeterminedthreshold value, where said predetermined threshold value is less thanthe maximum acceleration, thereby determining that the disk device isundergoing intolerable acceleration. The predetermined threshold valueis preferably chosen so that determination of intolerable accelerationoccurs only when it is likely that the absolute value of the diskdevice's instantaneous acceleration will soon reach the maximumacceleration, and so that each such determination is made withsufficient lead time to allow completion of a disk drive protectionoperation (to protect each disk drive of the device from damage that itwould otherwise suffer from reaching the maximum acceleration) and/or adisk caching operation before the absolute value of the device'sinstantaneous acceleration is likely to reach the maximum acceleration.Disk device 10 of FIG. 1 can be implemented (including by programmingprocessor 4 appropriately) to perform the embodiments described in thisparagraph if disk drive 2 is designed to tolerate acceleration havingabsolute magnitude that does not exceed a maximum acceleration.

In some embodiments (including the embodiment to be described withreference to FIG. 4), the inventive device is a portable deviceincluding a digital audio processing subsystem (configured to decodeand/or otherwise process digital audio data for playback) and anaccelerometer. The digital audio processing subsystem is configured tomonitor acceleration data (either the output of the accelerometer or aprocessed version the accelerometer's output) to identify any rhythmassociated with motion of the portable device (for example, the periodand phase of any periodic motion of the portable device, e.g., periodicmotion that may occur while a user wearing the device jogs or otherwisemoves rhythmically) and to modify the playback of audio data in responseto any such identified rhythm (e.g., to speed up or slow down playbackof the audio data to match the rhythm of periodic motion of the device).

FIG. 4 is a block diagram of digital media player 20 which includesconventional PC chipset 24A (which implements a CPU which runs player20's operating system software), graphics chipset 26, display 22, memory25 (which can be a flash memory), accelerometer 24, analog to digitalconversion circuit 27, processor 28, and audio signal amplifier 29,connected as shown. Typically, media player 20 includes other elementsbut these are not show for simplicity.

Analog-to-digital converter 27 captures the acceleration sensor dataoutput (in analog form) from accelerometer 24 and converts this datainto the digital domain, for processing by processor 28. Ifaccelerometer 24 is configured to output digital data indicative ofsensed acceleration (rather than analog data), A-to-D converter 27 canbe omitted and the output of accelerometer 24 provided directly toprocessor 28. Processor 28 saves the sensor data from converter 27 (oraccelerometer 24, if converter 27 is omitted) into a file and processesthe saved data as described below, or it processes the sensor data asdescribed below without first saving the data.

Processor 28 (identified as a computation engine and audio processor inFIG. 4) is an auxiliary processor configured to perform at least onetype of conventional digital audio data processing (e.g., decoding ofMP3-encoded audio data that have been read from memory 25 to generatedecoded audio data, and digital-to-analog conversion of the decodedaudio data to produce an analog audio signal that can be amplified inamplifier 29 and output from player 20) while the CPU of player 20(implemented in chipset 24A) performs at least one other task. Processor28 is shared in the sense that it is configured (e.g., programmed) toprocess acceleration data from converter 27 (or accelerometer 24, ifconverter 27 is omitted) in accordance with the invention, in additionto performing such conventional processing.

Elements 25, 28, and 29 of FIG. 4 comprise a digital audio processingsubsystem of player 20. Processor 28 is configured to monitoracceleration data output from converter 27 to identify any rhythmassociated with motion of player 20. An example of such rhythm is theperiod and phase of periodic motion of player 20 (e.g., periodic motionthat may occur while a user wearing player 20 jogs or otherwise movesrhythmically). Processor 28 is also configured to modify the decodedaudio data that it generates in response to any such identified rhythm,to perform digital-to-analog conversion on the resulting modified audiodata, and to assert the resulting analog audio signal to amplifier 29.For example, one implementation of processor 28 is configured to varythe data rate at which the decoded audio data are asserted todigital-to-analog conversion circuitry (within processor 28), so thatrhythm indicated by the resulting modified audio signal (that is outputto amplifier 29) matches the rhythm of player 20's motion, therebycausing playback of the audio data to speed up or slow down to match therhythm of player 20's motion. Such an implementation of processor 28 (orany of numerous variations thereon) can accommodate a listener's mood bysensing the listener's rhythm or “beat” (e.g., while the listener walksor exercises) and adjusts audio playback rates to match such rhythm.

In variations on the embodiment described with reference to FIG. 4, theelements of FIG. 4 are included within a notebook computer, tablet PC,PDA (personal digital assistant), smart cellular phone, or otherportable device other than a digital media player.

It should be understood that while some embodiments of the presentinvention are illustrated and described herein, the invention is definedby the claims and is not to be limited to the specific embodimentsdescribed and shown.

1. A method of freefall detection, said method comprising: accessingfirst data associated with an acceleration of a storage component; anddetermining if said first data is associated with a freefall of saidstorage component, wherein said determining further comprises processingsaid first data using a processor, and wherein said processor is furtheroperable to decode audio data.
 2. The method of claim 1, wherein saiddetermining further comprises: generating second data based upon saidfirst data, wherein said second data is associated with a timederivative of said acceleration.
 3. The method of claim 2, wherein saiddetermining further comprises: comparing said first data to a firstthreshold; comparing said second data to a second threshold; anddetermining that said first data is associated with a freefall of saidstorage component if said acceleration is greater than said firstthreshold and further if said time derivative of said acceleration isless than said second threshold.
 4. The method of claim 3, wherein saidfirst threshold is approximately equal to gravitational acceleration,and wherein said second threshold is approximately equal to zero.
 5. Themethod of claim 1, wherein said storage component comprises a diskdrive.
 6. The method of claim 1 further comprising: sampling data froman accelerometer to generate said first data, and wherein said firstdata comprises a plurality of samples.
 7. The method of claim 6, whereinsaid sampling further comprises sampling said data using ananalog-to-digital converter.
 8. A freefall detection componentcomprising: a first component operable to generate first data associatedwith an acceleration of a storage component; and a processor operable toprocess said first data and further operable to determine if said firstdata is associated with a freefall of said storage component, andwherein said processor is further operable to decode audio data.
 9. Thefreefall detection component of claim 8, wherein said processor isfurther operable to generate second data based upon said first data,wherein said second data is associated with a time derivative of saidacceleration.
 10. The freefall detection component of claim 9, whereinsaid processor is further operable to compare said first data to a firstthreshold, wherein said processor is further operable to compare saidsecond data to a second threshold, and wherein said processor is furtheroperable to determine that said first data is associated with a freefallof said storage component if said acceleration is greater than saidfirst threshold and further if said time derivative of said accelerationis less than said second threshold.
 11. The freefall detection componentof claim 10, wherein said first threshold is approximately equal togravitational acceleration, and wherein said second threshold isapproximately equal to zero.
 12. The freefall detection component ofclaim 8, wherein said storage component comprises a disk drive.
 13. Thefreefall detection component of claim 8 further comprising: anaccelerometer operable to measure said acceleration of said storagecomponent.
 14. The freefall detection component of claim 13, whereinsaid first component comprises an analog-to-digital converter coupled tosaid accelerometer, wherein said analog-to-digital converter is operableto sample data from said accelerometer to generate said first data, andwherein said first data comprises a plurality of samples.
 15. A portableelectronic device comprising: a display component; a storage component;and a freefall detection component comprising: a first componentoperable to generate first data associated with an acceleration of saidstorage component; and a processor operable to process said first dataand further operable to determine if said first data is associated witha freefall of said storage component, and wherein said processor isfurther operable to decode audio data.
 16. The portable electronicdevice of claim 15, wherein said processor is further operable togenerate second data based upon said first data, wherein said seconddata is associated with a time derivative of said acceleration.
 17. Theportable electronic device of claim 16, wherein said processor isfurther operable to compare said first data to a first threshold,wherein said processor is further operable to compare said second datato a second threshold, and wherein said processor is further operable todetermine that said first data is associated with a freefall of saidstorage component if said acceleration is greater than said firstthreshold and further if said time derivative of said acceleration isless than said second threshold.
 18. The portable electronic device ofclaim 17, wherein said first threshold is approximately equal togravitational acceleration, and wherein said second threshold isapproximately equal to zero.
 19. The portable electronic device of claim15, wherein said storage component comprises a disk drive.
 20. Theportable electronic device of claim 15, wherein said freefall detectioncomponent further comprises: an accelerometer operable to measure saidacceleration of said storage component.
 21. The portable electronicdevice of claim 20, wherein said first component comprises ananalog-to-digital converter coupled to said accelerometer, wherein saidanalog-to-digital converter is operable to sample data from saidaccelerometer to generate said first data, and wherein said first datacomprises a plurality of samples.